fn main() {
    let mut str1 = "111".to_string();

    str1 = str1 + "111111";

    println!("{}",str1);

    //======================================
    // 第一种
    let mut str1 = "julia book".to_string();

    let mut f = |x: &str| str1 = str1 + x;

    let _str1 = f(" 2013");
    println!("{:?}",_str1);
    // println!("str1:{:?}", str1); //=> error: borrow of moved value: `str1`

    //======================================
    // 第二种
    let mut str1 = "julia book".to_string();

    let mut f = |x: &str| str1.push_str(x);

    let _str1 = f(" 2013");
    println!("{:?}",_str1);
    println!("str1:{}", str1); // 正常运行

}
